Program Execution and Visualization on the Web
نویسندگان
چکیده
Programming is a demanding task with an education program that requires the assistance of complex tools such as programming environments, algorithm animators, problem graders, etc. In this chapter, we give a comprehensive presentation of tools for program execution and visualization on the Web. We summarize the technical evolution of these tools, describe educational uses, report lessons learned, and look at formal evaluations of their educational effectiveness. We also deal with a closely related matter, namely, collections of Web documents containing programming exercises. Finally, we outline our view of future trends in the use of the Web for programming education, and we give our personal conclusions. This chapter is of interest to educators and researchers, because it gives a comprehensive presentation of the main issues and results of a field where most of the contributions are sparse in the literature. INTRODUCTION Programming is a central theme in the discipline of computer science and, consequently, is the focus of many efforts in computer science education. The teaching and learning of 701 E. Chocolate Avenue, Hershey PA 17033, USA Tel: 717/533-8845; Fax 717/533-8661; URL-http://www.idea-group.com INFORMATION SCIENCE PUBLISHING This chapter appears in the book, Web-Based Education: Learning from Experience, edited by Anil Aggarwal. Copyright © 2003, Idea Group Publishing. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. Program Execution and Visualization on the Web 237 Copyright © 2003, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. programming is an extremely difficult task, because it is an exceedingly abstract and experimental activity. As a result, logical reasoning and experimentation play a central role. Traditionally, programming environments have been the main tools used for solving programming problems (Jiménez-Peris et al., 2000). However, a number of complementary tools have been developed in the last decade, for instance, algorithm animators, program visualizers, problem generators, problem graders, etc. Many of these tools have been or are being ported to the Web. Some of the advantages gained from this are platform independence and universal accessibility, which were serious obstacles to widespread adoption of previous systems. In this chapter, we describe technologies and experiences of using several classes of Web-based tools as a key element in programming courses, especially for problem solving. The tools we refer to support program execution and visualization (including animation). It should be noted that we do not make a comprehensive study of all kinds of Web-based tools that can be used for these courses, because this would require a whole book in itself. For instance, we exclude those uses of the Web that are independent of the subject matter, such as delivering course information or providing a collaborative medium. Such matters have been described elsewhere (Burd, 2000; Cucciarelli, Panti, & Valenti, 2000). In our exposition, we want to highlight two difficulties. First, some tools are recent, and their educational success has not been formally measured. Thus, the lessons that have been learned come from the experiences of teachers, from questionnaires completed by students, and from informal chats with students. Formal experiments have only been conducted with respect to algorithm animation, e.g., read Stasko and Lawrence (1998). We will report on both kinds of assessments. A second difficulty is that there is not always a neat separation between traditional tools and Web-based tools. In some cases, such as collections of exercises, we can hardly find experiences other than based on the Web. In other cases, most notably algorithm animations, there is a continuum from graphical or multimedia applications in personal computers to Web applications. We emphasize here Web-based cases and experiences, but we refer to other related systems when their lessons can also be applied to the Web. The chapter is organized as follows. The next two sections are devoted to two different classes of Web-based tools for programming courses, namely, support for program execution and program visualization (with emphasis on algorithm animation). In each section, a brief overview of the main technical achievements is given, educational uses are described, and lessons learned are reported, and in the case of algorithm animations, the results of controlled experiments on their educational effectiveness are presented. A product related to the algorithm animation activity is presented in the fourth section, namely, the management of collections of Web documents on programming exercises. Finally, we outline our view of future trends in the use of the Web for programming education and our personal conclusions. PROGRAM EXECUTION Program construction and execution are the main means of testing whether a computer solution to a problem (i.e., an algorithm) is correct. It is the main laboratory component of any programming course. One important problem involved in using computer environments is that the faculty and the students must have the same version, and it must often be run on specific computers and operating systems. The Web provides the possibility of universal 22 more pages are available in the full version of this document, which may be purchased using the "Add to Cart" button on the publisher's webpage: www.igi-global.com/chapter/program-execution-visualizationweb/31305
منابع مشابه
QoS-Based web service composition based on genetic algorithm
Quality of service (QoS) is an important issue in the design and management of web service composition. QoS in web services consists of various non-functional factors, such as execution cost, execution time, availability, successful execution rate, and security. In recent years, the number of available web services has proliferated, and then offered the same services increasingly. The same web ...
متن کاملInvestigation on Reliability Estimation of Loosely Coupled Software as a Service Execution Using Clustered and Non-Clustered Web Server
Evaluating the reliability of loosely coupled Software as a Service through the paradigm of a cluster-based and non-cluster-based web server is considered to be an important attribute for the service delivery and execution. We proposed a novel method for measuring the reliability of Software as a Service execution through load testing. The fault count of the model against the stresses of users ...
متن کاملAdaptive Visualization Component of a Distributed Web-Based Adaptive Educational System
Adaptive visualization is a technology that can enhance the power of program visualization. The idea of adaptive visualization is to adapt the level of details in a visualization to the level of student knowledge about these constructs. This paper presents an adaptive visualization system, WADEIn, that was developed to explore visualization of expression execution during program execution a und...
متن کاملThe Effect of an Educational Program for Mental Visualization to Teaching Some Shooting Skills for Basketball Beginners
Background. Although the educational program for teaching basketball shooting has been discussed, the mental visualization of teaching shooting skills for beginners has not been discussed yet. Objectives. The purpose of this study is to identify the effect of mental visualization in teaching some types of basketball shooting skills. Methods. The experimental method was chosen for its suitabil...
متن کاملArchitectural Plan for Constructing Fault Tolerable Workflow Engines Based on Grid Service
In this paper the design and implementation of fault tolerable architecture for scientific workflow engines is presented. The engines are assumed to be implemented as composite web services. Current architectures for workflow engines do not make any considerations for substituting faulty web services with correct ones at run time. The difficulty is to rollback the execution state of the workflo...
متن کاملArchitectural Plan for Constructing Fault Tolerable Workflow Engines Based on Grid Service
In this paper the design and implementation of fault tolerable architecture for scientific workflow engines is presented. The engines are assumed to be implemented as composite web services. Current architectures for workflow engines do not make any considerations for substituting faulty web services with correct ones at run time. The difficulty is to rollback the execution state of the workflo...
متن کامل